package com.dev.listener;

import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

/**
 * 在线任务统计
 */
@WebServlet("/online")
public class OnlineServlet2 extends HttpServlet {
    
    @Override
    public void service(HttpServletRequest req, HttpServletResponse res) throws IOException {
        
        //得到动作
        String action = req.getParameter("action");
        if ("logout".equals(action)) {
            // 退出
            req.getSession().invalidate();
            return;
        }
        // 得到当前访问的ip
        String ip = req.getRemoteAddr();
        System.out.println("当前访问的ip为：" + ip );
        
        
        // 获取session作用域中的在线人数
        // Integer onlineCount =(Integer) req.getSession().getAttribute("onlineCount");
        // 获取application作用域中的在线人数
        Integer onlineCount =(Integer) req.getSession().getServletContext().getAttribute("onlineCount");
        
        // 响应数据 在页面中显示人数
        res.setContentType("text/html;charset=utf-8");
        res.getWriter().write("当前在线人数为：" + onlineCount+"<a href='myServlet03?action=logout'>退出</a>");
        res.getWriter().flush();
        res.getWriter().close();
    }
}
